import runtimeType from '../sys/runtimeType.js';
let __focus_obj_timeout_showToast = null; // 自动关闭弹框的定时器对象

/**
 * 信息提示弹出框【同步方法】
 * @description 信息提示弹出框，仅在接口请求后调用。如果是在PC端使用，那么是创建的dom；如果是在uni使用，那么是调用的官方api
 * @param {Object} paramLast 接口的请求参数设置
 * @param {String} text 要提示的文字信息
 */
function showToast(paramLast = {}, text = '') {
    
    // 获取当前运行环境
    var runType = runtimeType();
    // 弹框元素节点id
    var str_dom_id = '__focus_network_toast__';
    
    // 如果允许弹框
    if (paramLast["openToast"])
    {
        // 弹框提示内容检测
        if (!text) { text = '请求失败，且未获得"msg"'; }
        // 如果是“非UNI”环境
        if (runType == 'nonUNI')
        {
            // 创建一个div节点
            var dom_toast = document.createElement("div");
            dom_toast.setAttribute('id', str_dom_id);
            // 创建加载框dom字符串
            var str_toastDom = `
                <div style="width:200px; min-height:50px; padding:15px; position:fixed; right:10px; bottom:55px; z-index:99; border-radius:10px; background-color:#FFFFFF; box-shadow:0 0 10px #CECECE; opacity:0.8; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; align-items:center;">
                    <span style="width:100%; font-size:15px; line-height:1.4; color:#565656; text-align:center; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;"
                    >${text}</span>
                </div>
            `;
            // 将加载框放入div容器中
            dom_toast.innerHTML = str_toastDom;
            
            // 根据id搜索loading的dom对象
            var dom_toast_had = document.getElementById(str_dom_id);
            // 如果存在则删除此dom
            if (dom_toast_had) { dom_toast_had.parentNode.removeChild(dom_toast_had); }
            // 将loading弹框dom对象添加到页面中
            document.body.appendChild(dom_toast);
            
            // 定时2500ms自动关闭弹框
            if (__focus_obj_timeout_showToast) { clearTimeout(__focus_obj_timeout_showToast); }
            __focus_obj_timeout_showToast = setTimeout(()=>{
                // 根据id搜索loading的dom对象
                var dom_toast_had2 = document.getElementById(str_dom_id);
                // 如果存在则删除此dom
                if (dom_toast_had2) { dom_toast_had2.parentNode.removeChild(dom_toast_had2); }
            }, 2500);
        }
        // 如果是UNI环境
        else {
            // 调用uni的信息弹框api
           uni.showToast({ title: text, icon: 'none', duration: 2500 });
        }
    }
    
}

export default showToast;